package task4;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author Administrator
 */
public class CopyMP4 {
    /*public static void main(String[] args) throws Exception{
        BufferedInputStream bis=new BufferedInputStream(new FileInputStream("1.mp4"));
        BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("C:\\1.mp4"));
        byte[] bys=new byte[1024];
        int len=0;
        while((len=bis.read(bys))!=-1){
            bos.write(bys,0,len);
        }
        bis.close();
        bos.close();
    }*/
    //通过字节缓冲流 把当前目录1.mp4拷贝到c盘根目录
    //加入异常处理
    public static void main(String[] args) {
      BufferedInputStream bis=null;
      BufferedOutputStream bos=null;
      /*1、创建字节缓冲流对象*/
      try {
        /*可能出现异常代码*/
        bis=new BufferedInputStream(new FileInputStream("1.mp4"));
        bos=new BufferedOutputStream(new FileOutputStream("c:\\2.mp4"));
        /*2、拷贝：从源文件读取数据，写入目的文件
        *    字节缓冲流一次读写一个字节数组*/
        //定义：一次读写的字节数组
        byte[] bys=new byte[1024];
        //定义：读写的字节数
        int len=0;
        //循环条件：读取字节数部位-1，则表示还有数据（没流到末尾）
        while ((len=bis.read(bys))!=-1){
          //把读取的字节数组写入目的文件
          bos.write(bys,0,len);
        }
      }catch (Exception e){
        //出现异常后的处理，输出异常信息
        System.out.println(e.getMessage());
      }finally {
        //无论如何都要执行的代码
        if(bis!=null){
          try {
            bis.close();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
        if(bos!=null){
          try {
            bos.close();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      }


    }
}
